Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fleet] Show all integration assets on detail page #182180

Merged
merged 17 commits into from
May 1, 2024

Conversation

jen-huang
Copy link
Contributor

@jen-huang jen-huang commented Apr 30, 2024

Summary

Resolves #160555.

This PR allows all assets to be shown on Integration details > Assets tab and links them to other apps in Kibana whenever possible for viewing. Previously, only dashboards, visualizations, and saved searches were shown in this view. Now all Kibana and Elasticsearch assets are shown if the integration was installed in the user's current space.

If an integration was installed in a different space, only ES assets will be shown.

Caveats

  1. This page lists all assets tracked on the package installation saved object after the package is installed (installed_es and installed_kibana). This list differs from the summary of assets shown on the Overview tab because it includes Fleet-installed assets that are not part of the package, notably index templates, component templates, and default ingest pipelines. [Fleet] Package asset count differs after installation #182197 was created to decide how to resolve this asset count discrepency.

  2. ML and Security assets are shown but not linked. The following issues have been created for downstream teams to decide where their assets should link to: [ML][Fleet] Link to ML assets from Integration > Assets tab #182199, [Security Solution][Fleet] Link to Security assets from Integration > Assets tab #182200

Screenshots

Nginx (including in a different space)

image

image

Security Posture Management

image

Rapid7 Threat Command

image

Lateral Movement Detection

image

Checklist

Delete any items that are not applicable to this PR.

@apmmachine
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@jen-huang
Copy link
Contributor Author

/ci

@jen-huang jen-huang added Team:Fleet Team label for Observability Data Collection Fleet team release_note:feature Makes this part of the condensed release notes v8.15.0 labels Apr 30, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

@jen-huang jen-huang added release_note:enhancement and removed release_note:feature Makes this part of the condensed release notes labels Apr 30, 2024
@jen-huang jen-huang changed the title [Fleet][WIP] Show all integration assets on detail page [Fleet] Show all integration assets on detail page Apr 30, 2024
(!pkgInstallationInfo?.installed_kibana ||
pkgInstallationInfo.installed_kibana.length === 0)
) {
// if assets are installed in a different space no need to attempt to load them.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering if we could still display the ES assets in a different space, as those are not space aware e.g. if nginx was added to space A, index templates, ingest pipelines, etc. will be available in the default space too.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should try to display the ES assets regardless of the installed_kibana_space_id on the integration, as those assets are not tied to spaces.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great catch! I missed this part of the original code. thanks @juliaElastic

Copy link
Contributor

@juliaElastic juliaElastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, tested locally.

Copy link
Contributor

@kilfoyle kilfoyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the docs. 👍

@jen-huang
Copy link
Contributor Author

@kpollich @juliaElastic @nimarezainia I made adjustments for if the integration is installed in a different space. We can actually show the entire list of assets including the Kibana assets that belong in a different space, but only by ID and not name. I'm not sure if this is preferable over just hiding all the Kibana assets. What do you think?

image

@jen-huang
Copy link
Contributor Author

@elasticmachine merge upstream

@kpollich
Copy link
Member

kpollich commented May 1, 2024

I made adjustments for if the integration is installed in a different space. We can actually show the entire list of assets including the Kibana assets that belong in a different space, but only by ID and not name. I'm not sure if this is preferable over just hiding all the Kibana assets. What do you think?

I think I'd rather just hide the Kibana assets in other spaces, and just show the ES assets with along with the "Kibana assets are not available in this space" callout we already include. Semantically I think "Kibana assets aren't available, but here are the assets that are available" is the intent in spaces that aren't aligned with the installation's installed_kibana_space_id.

@jen-huang
Copy link
Contributor Author

Thanks for the feedback @kpollich. I've made adjustments so that only ES assets are shown if Kibana assets were installed in a different space. We retain the callout about Kibana assets not being available in the current space.

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] x-pack/test/alerting_api_integration/security_and_spaces/group1/config.ts / alerting api integration security and spaces enabled Alerts - Group 1 alerts find Actions should return the actions correctly

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
fleet 1.3MB 1.3MB +251.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
fleet 159.9KB 160.8KB +932.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@jen-huang jen-huang merged commit 980d8bf into elastic:main May 1, 2024
22 checks passed
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label May 1, 2024
@jen-huang jen-huang deleted the feat/integration-assets branch May 1, 2024 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting release_note:enhancement Team:Fleet Team label for Observability Data Collection Fleet team v8.15.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Integrations] Show Ingest Pipelines (and other assets) under Integration Assets tab
8 participants